package com.dawn.module.hospital.controller.app.register.vo;

import com.dawn.module.hospital.controller.app.base.vo.ReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;

/**
 * @description:
 * @author: cnsu-cmh
 * @time: 2024/8/7 22:03
 */
@Schema(description = "挂号-创建挂号信息 APP - Request VO")
@Data
@ToString(callSuper = true)
public class RegisterCreateReqVO extends ReqVO {

    @NotBlank(message = "应用类型不能为空")
    @Schema(description = "应用类型",example="WX")
    private String appType;

    @Schema(description = "订单号")
    private String orderNumber;

    @Schema(description = "订单名称")
    private String orderName;

    @NotBlank(message = "挂号金额不能为空")
    @Schema(description = "挂号金额")
    private String totalCost;

    @NotBlank(message = "用户不能为空")
    @Schema(description = "用户ID")
    private String userId;

    @Schema(description = "本地档案ID")
    private Long pId;

    @NotBlank(message = "openid不能为空")
    @Schema(description = "openid")
    private String openid;

    @NotBlank(message = "挂号日期不能为空")
    @Schema(description = "挂号日期")
    private String regDate;

    @Schema(description = "卡类型Id")
    private String cardTypeId;

    @NotBlank(message = "卡号不能为空")
    @Schema(description = "卡号")
    private String cardNo;

    @Schema(description = "门诊号")
    private String clinicNo;

    @Schema(description = "挂号类别ID")
    private String regTypeId;

    @NotBlank(message = "挂号类别不能为空")
    @Schema(description = "挂号类别")
    private String regType;

    @NotBlank(message = "挂号科室不能为空")
    @Schema(description = "挂号科室")
    private String departmentId;

    @NotBlank(message = "挂号科室不能为空")
    @Schema(description = "挂号科室")
    private String departmentName;

//    @NotBlank(message = "挂号医生不能为空")
    @Schema(description = "挂号医生")
    private String doctorId;

//    @NotBlank(message = "挂号医生不能为空")
    @Schema(description = "挂号医生")
    private String doctorName;

    @Schema(description = "出诊记录ID，如果没有返回，此节点传空")
    private String clinicId;

    @NotBlank(message = "挂号号码不能为空")
    @Schema(description = "挂号号码")
    private String number;

    @Schema(description = "号源id 镇雄")
    private String regId;

    @Schema(description = "挂号号序")
    private String sequence;

    @Schema(description = "班次ID")
    private String scheduleId;

    @NotBlank(message = "班次名称不能为空")
    @Schema(description = "班次名称")
    private String scheduleName;

    @NotBlank(message = "挂号时间段不能为空")
    @Schema(description = "挂号时间段")
    private String  scheduleTime;

    @Schema(description = "挂号时间段起始时间")
    private String scheduleTimeStar;

    //分时结束时间
    @Schema(description = "挂号时间段结束时间")
    private String scheduleTimeEnd;

    @Schema(description = "就诊地址")
    private String address;

    @Schema(description = "缴款方式,0-挂号或预约缴款;1-预约不缴款")
    private String payType;

    @Schema(description = " 结算模式：0-普通模式，1-异步结算模式")
    private String settleType;

    @Schema(description = "操作类型：结算模式为1时传入，0-开始结算，1-完成结算，2-回退结算")
    private String operateType;

}
